Linux webm002.cluster126.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
/
home
/
ariannadhf
/
www
/
wp-content
/
plugins
/
ocean-extra
/
includes
/
/home/ariannadhf/www/wp-content/plugins/ocean-extra/includes/mautic.php
<?php /** * OceanWP Mautic Integration * * @package Ocean_Extra * @category Core * @author OceanWP */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Ocean Extra Mautic Integration */ class Ocean_Extra_Mautic { /** * Class instance. * * @var object * @access private */ private static $_instance = null; /** * Main Ocean_Extra_Mautic Instance * * @static * @return Main Ocean_Extra_Mautic instance */ public static function instance() { if ( is_null( self::$_instance ) ) { self::$_instance = new self(); } return self::$_instance; } /** * Constructor */ public function __construct() { add_action('wp_ajax_oe_mautic_subscribe', [$this, 'ajax_subscribe']); add_action('wp_ajax_nopriv_oe_mautic_subscribe', [$this, 'ajax_subscribe']); } /** * AJAX handler */ public function ajax_subscribe() { check_ajax_referer('owp-onboarding', 'security'); $email = isset($_POST['email']) ? sanitize_email($_POST['email']) : ''; $user_type = isset($_POST['user_type']) ? sanitize_text_field($_POST['user_type']) : 'free'; if (empty($email) || !is_email($email)) { wp_send_json_error('Invalid email address.'); } $result = $this->subscribe_to_mautic($email, $user_type); if ($result === true) { wp_send_json_success('Successfully subscribed!'); } wp_send_json_error($result); } /** * Send data to Mautic */ private function subscribe_to_mautic($email, $user_type) { $mautic_base_url = 'http://mautic.oceanwp.org'; $forms = [ 'free' => 12, 'pro' => 13 ]; $form_id = isset($forms[$user_type]) ? $forms[$user_type] : $forms['free']; $submit_url = "{$mautic_base_url}/form/submit"; $body = [ "mauticform[email]" => $email, "mauticform[formId]" => $form_id, "mauticform[return]" => '', ]; $response = wp_remote_post($submit_url, [ 'method' => 'POST', 'timeout' => 15, 'headers' => [ 'User-Agent' => 'OceanExtra-Onboarding/1.0' ], 'body' => $body ]); if (is_wp_error($response)) { return esc_html__('Connection to mailing server failed.', 'ocean-extra'); } $code = wp_remote_retrieve_response_code($response); if ($code !== 200) { return esc_html__('Subscription failed. Please try again.', 'ocean-extra'); } return true; } } /** * Initialize */ return Ocean_Extra_Mautic::instance();